console.log('111');
/* 在html  全局对象window */
// console.log(window);
console.log(global);

setTimeout(()=>{
    console.log(1);
},1000)
// 当任务队列没有排队的立即执行
setImmediate(()=>{
    console.log(2)
})
// 在异步代码中优先执行
process.nextTick(()=>{
    console.log(3)
})

let p = new Promise((resolve,reject)=>{
    if(true){
        console.log(5);
        resolve(5);
    }else{
        console.log(6);
        reject(6)
    }
})
p.then((data)=>{
    console.log(data);
})
console.log('主线程4');

/* nodejs中的事件轮询机制
先执行同步代码 再执行异步代码  异步中process.nextTick优先执行，异步微任务，异步宏任务

nodejs借助libuv库实现


*/